package ar.edu.sccs.util;

public abstract class Constants {

	public final class Resources {
		public static final String LOG4J_CONFIG = "/conf/log4j.xml";
		public static final String LOGIN_CONFIG = "/conf/login.xml";
		public static final String WORDNET_CONFIG = "/conf/wordnet.xml";
		public static final String HIBERNATE_CONFIG = "/conf/hibernate.xml";
		public static final String SIMILARITY_PROPS = "/conf/similarity.properties";
	}

	public final class Parameter {
		public static final String OPTION_YN = "OPTION.YES_NO";
		public static final String OPTION_CLASSTYPE = "OPTION.CLASS_TYPE";
		public static final String OPTION_PROTOCOLTYPE = "OPTION.PROTOCOL_TYPE";
		public static final String OPTION_STATETYPE = "OPTION.STATE_TYPE";
		public static final String LIST_NUMBER = "LIST.NUMBER";
		public static final String LIST_EXCEPTION = "LIST.EXCEPTION";
		public static final String LIST_COLLECTION = "LIST.COLLECTION";
	}
	
	public final class Xml {
		public static final String METADATA = "metadata";
		public static final String CONFIG = "config";
		public static final String USER = "user";
		public static final String USER_ID = "user_id";
		public static final String USER_PWD = "user_pwd";
		public static final String USER_XPATH = "/" + METADATA + "/" + CONFIG + "/" + USER;
	}

	public final class Cbr {
		public static final boolean CASE_SENSITIVE = false;
		public static final int LIMIT_RESULT = 10000;
	}

	public final class Loader {
		public static final String FILE_SEPARATOR = "/";
		public static final String FOLDER_NAME = "/data";
		public static final String FILE_NAME = FOLDER_NAME + FILE_SEPARATOR + "SCCS.ClazzLoader";
		public static final String JAVA_SUFIX = "java";
	}

	public final class Semantic {
		public static final int LIMIT_CLASS = 15;
		public static final int LIMIT_ACTION = 15;
		public static final int LIMIT_OBJECT = 15;
	}

	public final class Clazz {
		public static final String PUBLIC = "public";
		public static final String PROTECTED = "protected";
		public static final String PRIVATE = "private";
		public static final String ABSTRACT = "abstract";
		public static final String FINAL = "final";
		public static final String STRICTFP = "strictfp";
		public static final String NATIVE = "native";
		public static final String STATIC = "static";
		public static final String SYNCRONIZED = "synchronized";
	}

	public final class Dimension {

		public final class Type {
			public static final int LIST = 1;
			public static final int WORD = 2;
			public static final int CLASS = 3;
			public static final int PACKAGE = 4;
			public static final int BOOLEAN = 5;
		}

		public final class Calification {
			public static final int REUSABLE = 1;
			public static final int ADAPTABLE = 2;
			public static final int NOTUSABLE = 3;
			public static final int SEEN = 4;
		}

		public final class Class {
			public static final String TYPE = "classType";
			public static final String NAME = "className";
			public static final String PACKAGE = "classPackage";
			public static final String IMPLEMENTS = "classImplements";
			public static final String EXTEND = "classExtend";
			public static final String PUBLIC = "classIsPublic";
			public static final String PROTECTED = "classIsProtected";
			public static final String PRIVATE = "classIsPrivate";
			public static final String ABSTRACT = "classIsAbstract";
			public static final String FINAL = "classIsFinal";
			public static final String STRICTFP = "classIsStrictfp";
		}

		public final class Method {
			public static final String NAME = "methodName";
			public static final String ACTION = "methodAction";
			public static final String OBJECT = "methodObject";
			public static final String RETURN = "methodReturn";
			public static final String PARAMS = "methodParams";
			public static final String EXCEPTIONS = "methodExceptions";
			public static final String PUBLIC = "methodIsPublic";
			public static final String PROTECTED = "methodIsProtected";
			public static final String PRIVATE = "methodIsPrivate";
			public static final String ABSTRACT = "methodIsAbstract";
			public static final String FINAL = "methodIsFinal";
			public static final String STRICTFP = "methodIsStrictfp";
			public static final String NATIVE = "methodIsNative";
			public static final String STATIC = "methodIsStatic";
			public static final String SYNCRONIZED = "methodIsSynchronized";
		}
	}
}
